﻿using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using BLL;
using CrystalDecisions.CrystalReports.Engine;
using Model;

public partial class ProductAssemble_ViewAssemble_QCFixedCheck_QCFixedCheckViewbyDT : System.Web.UI.Page
{
    private IList<QCFixedCheckInfo> list;

    private DateTime dt1
    {
        get { return DateTime.Parse(ViewState["dt1"].ToString()); }
        set { ViewState["dt1"] = value; }
    }
    private DateTime dt2
    {
        get { return DateTime.Parse(ViewState["dt2"].ToString()); }
        set { ViewState["dt2"] = value; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            this.Page.Unload += new EventHandler(Page_Unload);
        }
    }

    void Page_Unload(object sender, EventArgs e)
    {
        this.CrystalReportSource1.Dispose();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        dt1 = DateTime.Parse(this.TextBox1.Value.Trim());
        dt2 = DateTime.Parse(this.TextBox2.Value.Trim());
        IList<QCFixedCheckInfo> list = GetQData();
        BindQCR(list);
        //BindData();
    }

    private void BindQCR(IList<QCFixedCheckInfo> list)
    {
        this.CrystalReportSource1.ReportDocument.Load(Server.MapPath("QCFixedCheckView.rpt"));

        TextObject txtTestTime = (TextObject)this.CrystalReportSource1.ReportDocument.ReportDefinition.ReportObjects["Text1"];
        txtTestTime.Text = dt1.ToString() + "-" + dt2.ToString();

        this.CrystalReportSource1.ReportDocument.SetDataSource(list);
        this.CrystalReportSource1.DataBind();
        this.CrystalReportViewer1.ReportSource = CrystalReportSource1;
        this.CrystalReportViewer1.DataBind();
        this.CrystalReportViewer1.Visible = true;
    }

    private IList<QCFixedCheckInfo> GetQData()
    {
        IList<QCFixedCheckInfo> oprs = new List<QCFixedCheckInfo>();
        QCFixedCheck pt = new QCFixedCheck();
        oprs = pt.GetQCFixedChecksbyDT(dt1, dt2);
        return oprs;
    }

    protected void BindData()
    {
        QCFixedCheck test = new QCFixedCheck();
        list = test.GetQCFixedChecksbyDT(dt1, dt2);
        GridView1.DataSource = list;
        GridView1.DataBind();
    }

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        this.GridView1.PageIndex = e.NewPageIndex;
        BindData();
    }
}
